CatBoost একটি শক্তিশালী গ্র্যাডিয়েন্ট বুস্টিং লাইব্রেরি যা টাইম সিরিজ ডেটা বিশ্লেষণ এবং ভবিষ্যদ্বাণী করতে কার্যকরী। এটি ক্যাটাগরিকাল ফিচার এবং মিসিং ভ্যালু পরিচালনার জন্য বিশেষভাবে ডিজাইন করা হয়েছে, যা টাইম সিরিজ ডেটার ক্ষেত্রে অত্যন্ত উপকারী। নিচে টাইম সিরিজ ডেটার জন্য CatBoost ব্যবহার করার পদ্ধতি আলোচনা করা হলো।
টাইম সিরিজ ডেটা হল এমন ডেটা যা সময়ের সাথে সাথে সংগ্রহ করা হয়। এটি সাধারণত সময়ের উপর ভিত্তি করে পরিবর্তনের বিশ্লেষণ করতে ব্যবহৃত হয়, যেমন স্টক মার্কেট, আবহাওয়া, বিক্রয় ডেটা ইত্যাদি।
টাইম সিরিজ ডেটার জন্য প্রথমে ডেটাসেটটি প্রস্তুত করতে হবে। এটি নিশ্চিত করতে হবে যে টাইমস্ট্যাম্প ফিচার এবং অন্যান্য প্রাসঙ্গিক ফিচার রয়েছে।
import pandas as pd
from catboost import CatBoostRegressor
# উদাহরণ টাইম সিরিজ ডেটা তৈরি
date_rng = pd.date_range(start='2023-01-01', end='2023-01-10', freq='D')
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = [10, 12, 15, 14, 20, 25, 30, 28, 26, 24] # উদাহরণ ডেটা
df['day'] = df['date'].dt.day
df['month'] = df['date'].dt.month
df['year'] = df['date'].dt.year
print(df)
টাইম সিরিজ ডেটাতে সাধারণত সময়ের পরিবর্তনের জন্য পূর্বাভাস তৈরি করতে হয়, তাই ফিচার এবং লেবেল নির্ধারণ করতে হবে।
# ফিচার এবং লেবেল নির্ধারণ
X = df[['day', 'month', 'year']]
y = df['data']
CatBoostRegressor ব্যবহার করে মডেল তৈরি করুন এবং প্রশিক্ষণ দিন।
# CatBoostRegressor তৈরি করা
model = CatBoostRegressor(iterations=100, depth=3, learning_rate=0.1, loss_function='RMSE', verbose=0)
# মডেল প্রশিক্ষণ
model.fit(X, y)
নতুন ডেটার উপর পূর্বাভাস তৈরি করুন।
# নতুন ডেটার উপর পূর্বাভাস
new_data = pd.DataFrame({'day': [11], 'month': [1], 'year': [2023]})
predictions = model.predict(new_data)
print("Predicted value for 2023-01-11:", predictions)
টাইম সিরিজ ডেটার জন্য কিছু অতিরিক্ত বৈশিষ্ট্য তৈরি করা যেতে পারে, যেমন:
CatBoost টাইম সিরিজ ডেটা বিশ্লেষণ এবং ভবিষ্যদ্বাণী করতে একটি কার্যকরী টুল। এটি ক্যাটাগরিকাল ডেটা পরিচালনা করার জন্য সক্ষম এবং মিসিং ভ্যালু এবং অন্যান্য বৈশিষ্ট্যগুলির সাথে কাজ করতে সাহায্য করে। টাইম সিরিজ ডেটাতে CatBoost ব্যবহার করে, আপনি মডেল প্রশিক্ষণ এবং পূর্বাভাস করার প্রক্রিয়াকে সহজ এবং কার্যকরী করতে পারেন, যা বিভিন্ন অ্যাপ্লিকেশনে প্রয়োগ করা যায়।
আরও দেখুন...